6120c992e6fe743f8853927ce714c0253ab2aeb3,basex-core/src/main/java/org/basex/core/locks/NonfairLockQueue.java,NonfairLockQueue,wait,#number#boolean#boolean#,19
Before Change
queue.add(id);
// loop until job is placed first (prefer readers)
do wait(); while(write && !readers.isEmpty() || !id.equals(queue.peek()));
// remove job from queue
queue.remove(id);
After Change
throws InterruptedException {
// only wait if job is locking
if(jobs >= parallel && (read || write)) {
// add job id to queue and wait
final Queue<Long> queue = write ? writers : readers;
queue.add(id);
// loop until job is placed first (prefer readers)
do {
wait();
} while(jobs >= parallel || write && !readers.isEmpty() || !id.equals(queue.peek()));
// remove job from queue